export default class Scanner{
    constructor(str){
        this.pos = 0
        //尾字符串
        this.tail = str;
        this.str = str;
    } 

    //走过指定内容，没返回值
    scan(tag){
        if(this.tail.indexOf(tag) == 0){
            this.pos += tag.length;
            this.tail = this.str.substring(this.pos)
        }
    }

    //让指针扫描直到遇见指定内容结束，并且返回之前路过文字
    scanUntil(stopTag){
        //记录pos
        const pos_backup = this.pos;
        //找不到在最后也要停止
        while(this.tail.indexOf(stopTag)!==0 && this.pos<this.str.length){
            this.pos++;
            this.tail = this.str.substring(this.pos)
        }
        return this.str.substring(pos_backup,this.pos);
    }
}